namespace UNREACH_RETURN {
	void foo(int* p)
	{
		switch (*p) {
		case 0:
		case 1:
			if (*p == 0) {
				++(*p);
				return;
			}
			else if (*p == 1) {
				--(*p);
				return;
			}
			return;
		default:
			(*p) = 1 - (*p);
		}
	}
}